import grpc

import demo_pb2
import demo_pb2_grpc


def feed_userinfo(stub):
    # 构建rpc调用的调用参数
    user_request = demo_pb2.UserInfoRequest()
    user_request.user_id = 1

    # 通过stub进行方法调用，并接收调用返回值
    ret = stub.user_info(user_request)
    print('ret={}'.format(ret))


def run():
    """
    rpc客户端调用的方法
    """
    # 使用with语句连接rpc服务器
    with grpc.insecure_channel('127.0.0.1:8888') as channel:
        # 创建调用rpc远端服务的辅助对象stub
        stub = demo_pb2_grpc.UserInfoSystemStub(channel)
        # 通过stub进行rpc调用
        feed_userinfo(stub)


if __name__ == '__main__':
    run()
